/** 
 * @(#)RoutingTableWindow.java
 */

/**
 * @author Robert Denda&Didier Gutacker
 * @version 1.1
 * @see RIPRoutingTableWindow 
 * @see DVMRPRoutingTableWindow
 *
 * original author Robert Denda, changes made by Didier Gutacker
 */

import java.awt.*;
import java.util.Vector;

public abstract class RoutingTableWindow extends Frame implements Runnable {

  public SimulationObject net;
  public TextArea textArea;
  public Button dismissButton;
  public TextMethods text;
  public debug DEBUG;
  public Thread thread;
  public boolean wakeUpAble = false;

  public RoutingTableWindow(SimulationObject net) {
    this.net = net;
    DEBUG = new debug();
    thread = new Thread( net.getThreadGroup(), this );
    thread.setPriority( Thread.MIN_PRIORITY );
    thread.start();
    text = net.getSimulation().getText();
  } // RoutingTableWindow.RoutingTableWindow

  void paintRequest() {
    if ( wakeUpAble ) {
      wakeUp();
    } // if
  } // RoutingTableWindow.paintRequest

  synchronized void wakeUp() {
    notify();
  } // RoutingTableWindow.wakeUp

  public void paint( Graphics gc ) {
    paintRequest();		// asynchronous paint
 } // RoutingTableWindow.paint
 
} // RoutingTableWindow


